import axios from 'axios'
import router from "@/router/index.js";

const service = axios.create({
    baseURL: import.meta.env.VITE_API_BASEURL || '/api', // 从环境变量读取基础URL
    timeout: 5000 // 请求超时时间
})

// 请求拦截器 (在发送请求前做什么)
service.interceptors.request.use(
    (config) => {
        const token = localStorage.getItem('token')
        if (token) {
          config.headers.token = token
        }
        return config
    },
    (error) => {
        return Promise.reject(error)
    }
)

// 响应拦截器 (对响应数据做什么)
service.interceptors.response.use(
    (response) => {
        // 不再直接返回data部分，而是保持完整的response.data结构
        return response.data
    },
    (error) => {
        if (error.response.status === 401) {
            // 删除token
            localStorage.removeItem('token')
            // 跳转到登录页面
            router.push('/login')
        }
        return Promise.reject(error)
    }
)

export default service // 导出这个实例